package swu.cx.androidstudy

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        /*
            View: 单个的 看得到的 可以和用户交互的控件
            ViewGroup: 容器 可以存放多个view/viewGroup 并且管理view的布局
            根据每个容器的具体功能划分：
                FrameLayout 帧布局
                LinearLayout 线性布局
                RelativeLayout 相对布局 A和B之间有相对对齐关系
                ConstraintLayout 约束布局
            xml中引用某个资源 使用@开头
            xml中使用 id来标识每一个控件
            FrameLayout 帧布局

            layout_width/height     固定的尺寸
                                    match_parent 匹配父容器
                                    wrap_content 内容多大空间就多大
             当添加子控件，最后添加的空间在最外层，如果空间足够大，会覆盖之前的控件(一层一层添加)
             layout_margin 设置和父容器左右上下的外间距
             padding 视图本身的内容和这个视图之间的距离  内间距
             layout_marginLeft/start 和父容器左边的外间距间距
             start:有些文字是从右到左，有些是从左到右

             layout_gravity     设置控件和父容器的的关系
                                start top bottom
                                居中 水平居中 垂直居中
             gravity           设置自己的子控件和我的关系
             linearLayout
             只有横向或者纵向的布局->线性布局
             1.必须确定摆放的方式 横向、纵向
               orientation 默认横向摆放
               layout_weight 权重
                            给宽度或者高度设为0dp
                            设置宽/高的比例
             2.注意：容器的嵌套不要太多 效率低：计算容器的尺寸
            RelativeLayout 子控件和子控件之间 子控件和父控件之间可以添加对齐的关系

         */
    }
}